<?php

/**
 * Description of Solicitudes
 *
 * @author MFerreira
 */
require_once ('Empresas.php');
require_once ('Trabajadores.php');
require_once ('PlanesEstudios.php');
require_once ('Municipios.php');
require_once "Practicantes.php";
require_once 'enums/EstadoSolicitud.php';

class Solicitudes {

    private static $mapping = null;

    public static function MAPPING() {
        if (self::$mapping == null) {
            self::$mapping = array(
                "Empresa" => "Empresas",
                "Empresa.mapping" => Empresas::MAPPING(),
                "Solicitante" => "Trabajadores",
                "Tutor" => "Trabajadores",
                "PlanEstudio" => "PlanesEstudios",
                "Municipio" => "Municipios",
                "Municipio.mapping" => Municipios::MAPPING(),
                "PracticanteActual" => "Practicantes",
                "PracticanteActual.mapping" => Practicantes::MAPPING(),
            );
        }

        return self::$mapping;
    }

    private $IdSolicitud = 0;
    private $NitEmpresa;
    /**
     *
     * @var Empresas
     */
    private $Empresa;
    /**
     *
     * @var Trabajadores
     */
    private $Solicitante;//
    private $CodigoPlan = 0;
    /**
     *
     * @var PlanesEstudios
     */
    private $PlanEstudio;
    private $DescripcionPerfil;//
    private $FechaIniciacion;
    private $FechaFinalizacion;
    private $AreaTrabajo;
    private $Cargo;
    /**
     *
     * @var Trabajadores
     */
    private $Tutor;
    private $Telefono = 0;
    private $DireccionPracticas;
    private $CodigoMunicipio = 0;
    /**
     *
     * @var Municipios
     */
    private $Municipio;
    private $EsSucursalPrincipal = true;
    //<<enum>>
    private $Estado = 0;//
    private $IdPracticanteActual = 0;
    private $CoordinadorPracticas;
    private $TienePendiente = true;
    private $Pendientes;
    /**
     *
     * @var Practicantes
     */
    private $PracticanteActual;

    public function getIdSolicitud() {
        return $this->IdSolicitud;
    }

    public function setIdSolicitud($IdSolicitud) {
        $this->IdSolicitud = $IdSolicitud;
    }

    public function getNitEmpresa() {
        return $this->NitEmpresa;
    }

    public function setNitEmpresa($NitEmpresa) {
        $this->NitEmpresa = $NitEmpresa;
    }

    public function getEmpresa() {
        return $this->Empresa;
    }

    public function setEmpresa($Empresa) {
        $this->Empresa = $Empresa;
    }

    public function getSolicitante() {
        return $this->Solicitante;
    }

    public function setSolicitante($Solicitante) {
        $this->Solicitante = $Solicitante;
    }

    public function getCodigoPlan() {
        return $this->CodigoPlan;
    }

    public function setCodigoPlan($CodigoPlan) {
        $this->CodigoPlan = $CodigoPlan;
    }

    public function getPlanEstudio() {
        return $this->PlanEstudio;
    }

    public function setPlanEstudio($PlanEstudio) {
        $this->PlanEstudio = $PlanEstudio;
    }

    public function getDescripcionPerfil() {
        return $this->DescripcionPerfil;
    }

    public function setDescripcionPerfil($DescripcionPerfil) {
        $this->DescripcionPerfil = $DescripcionPerfil;
    }

    public function getFechaIniciacion() {
        return $this->FechaIniciacion;
    }

    public function setFechaIniciacion($FechaIniciacion) {
        $this->FechaIniciacion = $FechaIniciacion;
    }

    public function getFechaFinalizacion() {
        return $this->FechaFinalizacion;
    }

    public function setFechaFinalizacion($FechaFinalizacion) {
        $this->FechaFinalizacion = $FechaFinalizacion;
    }

    public function getAreaTrabajo() {
        return $this->AreaTrabajo;
    }

    public function setAreaTrabajo($AreaTrabajo) {
        $this->AreaTrabajo = $AreaTrabajo;
    }

    public function getCargo() {
        return $this->Cargo;
    }

    public function setCargo($Cargo) {
        $this->Cargo = $Cargo;
    }

    public function getTelefono() {
        return $this->Telefono;
    }

    public function setTelefono($Telefono) {
        $this->Telefono = $Telefono;
    }

    public function getCodigoMunicipio() {
        return $this->CodigoMunicipio;
    }

    public function setCodigoMunicipio($CodigoMunicipio) {
        $this->CodigoMunicipio = $CodigoMunicipio;
    }

    public function getMunicipio() {
        return $this->Municipio;
    }

    public function setMunicipio($Municipio) {
        $this->Municipio = $Municipio;
    }

    public function getEsSucursalPrincipal() {
        return $this->EsSucursalPrincipal;
    }

    public function setEsSucursalPrincipal($EsSucursalPrincipal) {
        $this->EsSucursalPrincipal = $EsSucursalPrincipal;
    }

    public function getEstado() {
        return $this->Estado;
    }

    public function setEstado($Estado) {
        $this->Estado = $Estado;
    }

    public function getTutor() {
        return $this->Tutor;
    }

    public function setTutor($Tutor) {
        $this->Tutor = $Tutor;
    }

    public function getDireccionPracticas() {
        return $this->DireccionPracticas;
    }

    public function setDireccionPracticas($DireccionPracticas) {
        $this->DireccionPracticas = $DireccionPracticas;
    }

    public function getIdPracticanteActual() {
        return $this->IdPracticanteActual;
    }

    public function setIdPracticanteActual($IdPracticanteActual) {
        $this->IdPracticanteActual = $IdPracticanteActual;
    }

    public function getCoordinadorPracticas() {
        return $this->CoordinadorPracticas;
    }

    public function setCoordinadorPracticas($CoordinadorPracticas) {
        $this->CoordinadorPracticas = $CoordinadorPracticas;
    }

    public function getTienePendiente() {
        return $this->TienePendiente;
    }

    public function setTienePendiente($TienePendiente) {
        $this->TienePendiente = $TienePendiente;
    }

    public function getPendientes() {
        return $this->Pendientes;
    }

    public function setPendientes($Pendientes) {
        $this->Pendientes = $Pendientes;
    }

    /**
     *
     * @return Practicantes
     */
    public function getPracticanteActual() {
        return $this->PracticanteActual;
    }

    public function setPracticanteActual($PracticanteActual) {
        $this->PracticanteActual = $PracticanteActual;
    }

}

?>
